Creating label form templates

ABSTRACT

Methods and systems for creating labels from a template can involve correcting an image of a form captured by an image-capturing device, detecting in the image of the form a group of features including one or more polygons, and one or more writable areas in polygon(s), creating a template of the form based on the group of features detected in the image, and transmitting the template electronically to a requester of the template.

TECHNICAL FIELD

Embodiments are related to image processing methods, systems anddevices. Embodiments also relate to the creation and generation of formtemplates. Embodiments further relate to rendering of printable labelsand forms based on templates. In addition, embodiments relate tomethods, systems and devices for capturing and rendering images, such asprinters, scanners and digital cameras.

BACKGROUND

Printable labels may be purchased with form templates in, for example,PDF or Word format. FIG. 1 illustrates a top view of prior art labels 10that can be implemented as rectangles on a sheet. These labels 10 canallow a user to ‘know’ where to place text, images or graphics so theyare in the correct location.

For cases where a form template was not or is not available, it can betedious for the user to create a form template, particularly whencreating various forms in order to receive certain information orservices.

BRIEF SUMMARY

The following summary is provided to facilitate an understanding of someof the innovative features unique to the disclosed embodiments and isnot intended to be a full description. A full appreciation of thevarious aspects of the embodiments disclosed herein can be gained bytaking the entire specification, claims, drawings, and abstract as awhole.

It is, therefore, one aspect of the disclosed embodiments to provide forimproved image processing methods and systems.

It is another aspect of the disclosed embodiments to provide for thecreation and generation of form templates.

It is further aspect of the disclosed embodiments to provide for therendering of printable labels and forms based on form templates.

The aforementioned aspects and other objectives and advantages can nowbe achieved as described herein.

In an embodiment, a method for creating labels from a template, caninvolve: correcting an image of a form captured by an image-capturingdevice; detecting in the image of the form a plurality of featuresincluding at least one polygon, and at least one writable area in the atleast one polygon; creating a template of the form based on theplurality of features detected in the image; and transmitting thetemplate electronically to a requester of the template.

In an embodiment, correcting the image of the form captured by theimage-capturing device can involve de-skewing the image.

An embodiment can further involve automatically configuring the templateas a label form template for use as a printable label by the requester.

An embodiment can further involve capturing the image of the form withan image-capturing device.

In an embodiment, the image-capturing device can comprise a digitalcamera.

In an embodiment, the image-capturing device can comprise a scanner.

In an embodiment, the plurality of features further can further compriseone or more of: text, at least one image within the at least onepolygon, and color in the at least one polygon.

In an embodiment, a system for creating labels from a template, cancomprise: at least one processor; and a non-transitory computer-usablemedium embodying computer program code, the computer-usable mediumoperable to communicate with the at least one processor. The computerprogram code can comprise instructions executable by the at least oneprocessor and operable to: correct an image of a form captured by animage-capturing device; detect in the image of the form a plurality offeatures including at least one polygon, and at least one writable areain the at least one polygon; create a template of the form based on theplurality of features detected in the image; and transmit the templateelectronically to a requester of the template.

In an embodiment, the instructions executable by the at least oneprocessor and operable to correct the image of the form captured by theimage-capturing device, can further comprise instructions configured to:de-skew the image.

In an embodiment, the instructions can further comprise instructionsexecutable by the at least one processor and operable to automaticallyconfigure the template as a label form template for use as a printablelabel by the requester.

In an embodiment, a system for creating labels from a template, cancomprise: an image-capturing device that captures an image of a formthat is then subject to a correction; a sensor that detects in the imageof the form, a plurality of features including at least one polygon, andat least one writable area in the at least one polygon; and a templateof the form created based on the plurality of features detected in theimage, wherein the template is electronically transmitted to a requesterof the template.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, in which like reference numerals refer toidentical or functionally-similar elements throughout the separate viewsand which are incorporated in and form a part of the specification,further illustrate the present invention and, together with the detaileddescription of the invention, serve to explain the principles of thepresent invention.

FIG. 1 illustrates a top view of prior art labels that can beimplemented as rectangles on a sheet, in accordance with an embodiment;

FIG. 2 illustrates a graphical view of form fields and writable areas,in accordance with an embodiment;

FIG. 3 illustrates digital form fields, in accordance with anembodiment;

FIG. 4 illustrates other types of labels, which may be implemented inaccordance with alternative embodiments;

FIG. 5 illustrates an example PDF (Portable Document Format) form viewedwith a graphical user interface (GUI) window that can facilitates theviewing, creation, manipulation, printing and managing files in PDF, inaccordance with an embodiment;

FIG. 6 illustrates a GUI window 60 displaying a label form template, inaccordance with an embodiment;

FIG. 7 illustrates a flow chart of operations illustrating logicaloperational steps of a method for creating a label form template, inaccordance with an embodiment,

FIG. 8 illustrates a flow chart of operations illustrating logicaloperational steps of a method for creating a label form template, inaccordance with an alternative embodiment.

FIG. 9 illustrates a block diagram of a printing system suitable forimplementing one or more of the disclosed embodiments; and

FIG. 10 illustrates a block diagram of a digital front end controlleruseful for implementing one or more embodiments.

DETAILED DESCRIPTION

The particular values and configurations discussed in these non-limitingexamples can be varied and are cited merely to illustrate one or moreembodiments and are not intended to limit the scope thereof.

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments.Subject matter may, however, be embodied in a variety of different formsand, therefore, covered or claimed subject matter is intended to beconstrued as not being limited to any example embodiments set forthherein; example embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware, or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to beinterpreted in a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, phrases such as “in one embodiment” or “in an exampleembodiment” and variations thereof as utilized herein do not necessarilyrefer to the same embodiment and the phrase “in another embodiment” or“in another example embodiment” and variations thereof as utilizedherein may or may not necessarily refer to a different embodiment. It isintended, for example, that claimed subject matter include combinationsof example embodiments in whole or in part.

In general, terminology may be understood, at least in part, from usagein context. For example, terms such as “and,” “or,” or “and/or” as usedherein may include a variety of meanings that may depend, at least inpart, upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B, or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B, or C, hereused in the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures, orcharacteristics in a plural sense. Similarly, terms such as “a,” “an,”or “the”, again, may be understood to convey a singular usage or toconvey a plural usage, depending at least in part upon context. Inaddition, the term “based on” may be understood as not necessarilyintended to convey an exclusive set of factors and may, instead, allowfor existence of additional factors not necessarily expressly described,again, depending at least in part on context.

The term “data” refers herein to physical signals that indicate orinclude information. An “image,” as a pattern of physical light or acollection of data representing the physical light, may includecharacters, words, and text as well as other features such as graphics.

A “digital image” is by extension an image represented by a collectionof digital data. An image may be divided into “segments,” each of whichis itself an image. A segment of an image may be of any size up to andincluding the whole image. The term “image object” or “object” as usedherein is believed to be considered in the art generally equivalent tothe term “segment” and will be employed herein interchangeably.

In a digital image composed of data representing physical light, eachelement of data may be called a “pixel,” which is common usage in theart and refers to a picture element. Each pixel has a location andvalue. Each pixel value is a bit in a “binary form” of an image, a grayscale value in a “gray scale form” of an image, or a set of color spacecoordinates in a “color coordinate form” of an image, the binary form,gray scale form, and color coordinate form each being a two-dimensionalarray defining an image. An operation can perform “image processing”when it operates on an item of data that relates to part of an image.

As discussed previously, printable labels can be purchased with formtemplates in, for example, PDF or Microsoft Word format. These type oftemplates can allow a user to know where to place text, images orgraphics so they are in the correct location with the template. Forcases where a form template was or is not available, it can be tediousto create for the user to create his or her template.

The embodiments illustrated and described herein allow a user to scan animage of the form or take a digital picture or digital image with adigital camera or a device equipped with a camera such as a smartphone.The captured image can be then sent to a local or remote Web service orapp. The image can be de-skewed or otherwise corrected via the local orremote Web service or app. The labels and the fillable parts of thelabel can be then determined and a template (e.g., in PDF or MicrosoftWord) can be created. This template is returned to the requestor (theuser who requested the template).

Note that one or more embodiments may involve the use of a softwaresystem and tools such as the Xerox® Digital Alternatives (DA), which isa personal productivity and collaboration tool that can provide analternative to using paper documents. This tool can reinforce a strategyof, “Print for less, and print less,” by providing a better alternativeto printing documents. Xerox® Digital Alternatives (DA) or simply “DA”can be used to import, read, annotate, save, organize, and sharedocuments within a single application. DA can be used simultaneously ona Windows® PC, laptop, smartphone and other mobile computing devicessuch as an Apple iPad®. DA can be used to facilitate the management ofdocuments as an alternative to paper. With Windows® and iPad®applications, for example, a user can annotate, sign, and sharedocuments from an efficient and intuitive interface. An example of DA isdisclosed in the document “Xerox® Digital Alternatives Client SoftwareUser Guide, Software Version 1.1, May 2015,” which is incorporatedherein by reference in its entirety.

The above referenced Xerox® Digital Alternatives (DA) is one example ofa Forms Digital Alternative (D/A) platform, which can include algorithmsfor detecting form fields and the writable area within an image.

FIG. 2 illustrates a graphical view 20 of form fields 20 including aform field 22, a form field 24, and a form field 26 and respectivewritable areas including a writable area 21, a writable area 23, and awritable area 25, in accordance with an embodiment. FIG. 2 thus showsthree rectangle form fields 22, 24, and 26 with their respectivewriteable areas 21, 23, and 25 (shown with shading in FIG. 2).

FIG. 3 illustrates various digital form fields with forms 32, 34 and 36,in accordance with an embodiment. The forms 32, 34 and 36 may beimplemented as electronic fillable forms having various form fields,check boxes, signatures lines, and so on. Some of the fillable formfields may not apply to labels such as the check boxes or signaturelines. FIG. 3 thus demonstrates examples of fields that may not apply tolabel templates form. Green, shown in form 32 may be from theaforementioned Forms Digital Alternative (D/A) platform, magenta asshown in form 34 may be from an Adobe document, and cyan shown in form36 may be from a Nuance. Rectangles with and without text may also beincluded as a part of such forms or documents.

FIG. 4 illustrates examples of other types of labels 42, 44, and 46,which may be implemented in accordance with alternative embodiments.Labels 42, for example, may be implemented as three empty irregularshaped labels. Labels 44 are examples of holiday themed labels includingsome text and graphics. Labels 46 shown in FIG. 4 are also examples ofirregular shaped labels.

A methodology for creating a label form template, can thus beimplemented as follows:

-   -   1) Scan or take photo of form    -   2) Send image to web service or app local or remote    -   3) De-skew or otherwise correct the image    -   4) Detect polygons    -   5) Detect text in polygons    -   6) Detect images in polygons    -   7) Detect color(s) in polygons    -   8) Detect writable area in polygons    -   9) Create template    -   10) Return template to requester

Note that at least some of the operations described above can beimplemented via a sensor. For example, a sensor may be used to implementone or more of the detection operations or steps 4 to 8 above. Such asensor may be implemented via hardware and/or software. A scanner suchas the scanner 129 shown in FIG. 9 and in association with modules,routines, and/or sub-routines, may be used as a sensor for detecting,for example, in the image of the form, a plurality of features includingat least one polygon, and at least one writable area in the at least onepolygon, and/or other features. Feature detection applications may alsobe utilized as a sensor or in association with a sensor to detect theaforementioned features. Note that term ‘feature detection’ as utilizedherein can relate to an image-processing operation that can be performedas an operation on image including examining a pixel (or pixels) in theimage to determine if there is a feature present at that pixel (orpixels).

FIG. 5 illustrates an example PDF (Portable Document Format) form viewedwith a graphical user interface (GUI) window 50 that facilitates theviewing, creation, manipulation, printing and managing files in PDF, inaccordance with an embodiment. FIG. 5 thus depicts a screen shot of anAdobe® Acrobat® Pro GUI window. The window 50 includes an area 54 thatallows for the addition of new fields, an area 56 that allows forvarious functionalities such as tracking, close form editing and othertasks. An area 58 allows for the selection of, for example, particularaddress and rows associated with a graphically displayed template 52 ofa sheet of address labels. FIG. 5 thus depicts a PDF form that can beviewed with, for example, an Adobe® Acrobat® application.

FIG. 6 illustrates a GUI window 60 displaying a label form template 62,in accordance with an embodiment. The form template 62 shown in FIG. 2is depicted without address information and settings such as theaddress/row conditions shown in the example embodiment in FIG. 5. Notethat a difference between the GUI window 60 shown in FIG. 6 and GUIwindow 50 shown in FIG. 5 is that the GUI window depicted in FIG. 6 isimplemented with a ‘free reader’ application rather than the moreexpensive ‘Pro” application shown in FIG. 5.

That is, the label form template 62 shown in FIG. 5 can be viewed withthe ‘free’ Adobe® Acrobat® Reader. With the free Reader, a user can nowhave the form template 62 with writable fields (shown in the shadedareas). Note that the cursor may be in the upper right box. Thistemplate can be created at the same size as the originals so as toensure no scaling is used when printing.

FIG. 7 illustrates a flow chart of operations illustrating logicaloperational steps of a method 70 for creating a label form template, inaccordance with an embodiment. As shown in FIG. 7, a step or operationcan be implemented, as shown at block 71, to capture an image of a formwith a scanner.

Note that the term ‘scanner’ as utilized herein can refer to an imagescanner, which is a device that can optically scan images, printed text,handwriting or an object and converts it to a digital image. An exampleof a scanner is a flatbed scanner where the document to be imaged (e.g.,a form) can be placed on a glass window for scanning. The scanner may insome cases be incorporated into a multi-function device (MFD), whichalso may possess printing and photocopying features. The scanner mayalso be incorporated into, for example, a printing system such as theprinting system 100 shown in FIG. 9 and FIG. 10. For example, thescanner 129 is shown in FIG. 9 as a part of the printing system 100.Alternatively, or in addition to the scanner 129 included as a part ofthe printing system 100, the scanner may be implemented as a separatescanner 162 also depicted in FIG. 9, which can communicate with thenetwork 160.

Following process of the step or operation depicted in block 71, a stepor operation can be implemented, as shown at block 73, to send thecaptured image (i.e., the image of the form or other document) to a Webservice or app, which may be local or remote. Note that the term “Webservice” as utilized herein can relate to a service offered by anelectronic device to another electronic device, communicating with eachother via the World Wide Web, or a server running on a computer device,listening for requests at a particular port over a network, serving webdocuments (HTML, JSON, XML, images), and creating applications services,which can serve in solving specific domain problems over the Web (WWW,Internet, HTTP).

Next, as shown at block 75, a step or operation can be implemented tode-skew or and/or otherwise correct the image. Note that the term‘de-skew’ (or ‘deskew’) as utilized herein can relate to a process ofstraightening an image that has been scanned or photographedcrookedly—that is, an image that may be slanting too far in onedirection, or which may be misaligned. Graphics software or routines(including any sub-routines) may be used to implement this process. Theaforementioned de-skew or deskewing operation is an example of an imageprocessing operation that can operate on an item of data that relates toa part of the captured (e.g., scanned) image.

Following processing of the step or operation depicted at block 75, astep or operation, as shown at block 77, can be implemented to detectpolygons in the image. Thereafter, a step or operation can beimplemented, as shown at block 78 to detect text in the polygons. Then,as shown at block 81, a step or operation can be implemented to detectimages in the polygons. Next, as shown at block 83, a step or operationcan be implemented to detect color(s) in the polygons. Thereafter, asdepicted at block 85, a step or operation can be implemented to detectone or more writable areas in the polygons. Then, as illustrated atblock 87, a step or operation can be implemented to create the template(e.g., a form template) based on the aforementioned features detected inthe image. The created template can be then electronically returned tothe user who had originally requested the creation of the template.

FIG. 8 illustrates a flow chart of operations illustrating logicaloperational steps of a method 90 for creating a label form template, inaccordance with an alternative embodiment. Note that the as utilizedherein, identical or similar reference numerals refer generally toidentical or similar parts or elements. Thus, the alternative embodimentof method 90 shown in FIG. 8 depicts most of the same operations shownin FIG. 7 with the exception that of the step or operation depicted atblock 72, which involves capturing an image of the form or document tobe ‘templatized’ with a digital camera rather than a scanner. Such adigital camera may be, for example, a digital camera associated with asmartphone or table computing device such as the table computing device166 (e.g., an Apple iPad®).

With reference to FIG. 9, the printing system (or image renderingsystem) 100 suitable for implementing various aspects of the exemplaryembodiments described herein is illustrated.

The word “printer” and the term “printing system” or “printing device”or “printing apparatus” as used herein can encompass any apparatusand/or system; such as a digital copier, xerographic and reprographicprinting systems, bookmaking machine, facsimile machine, multi-functionmachine, ink-jet machine, continuous feed, sheet-fed printing device,etc.; which may contain a print controller and a print engine and whichmay perform a print outputting function for any purpose. A printer, aprinting system, a printing device is an example of a rendering devicefor rendering a document such as a printed form, label or image.

The printing system 100 depicted in FIG. 9 can include a user interface110, a digital front end (DFE) controller 120, and at least one printengine 130 (′printer) and the aforementioned scanner 129. The printengine 130 and the scanner 129 may have access to print media 135 ofvarious sizes and cost for a print job or a scanning job. In someembodiments, the printing system 100 can comprise a color printer havingmultiple color marking materials. In other embodiments, the printingsystem 100 may comprise an MFD.

A “print job” or “document” is normally a set of related sheets, usuallyone or more collated copy sets copied from a set of original print jobsheets or electronic document page images, from a particular user, orotherwise related. For submission of a regular print job (or customerjob), digital data is generally sent to the printing system 100.

A sorter 140 can operate after a job is printed by the print engine 130,to manage arrangement of the hard copy output, including cuttingfunctions. A user can access and operate the printing system 100 usingthe user interface 110 or via a data-processing system such as aworkstation 150. The workstation 150 can communicate bidirectionallywith the printing system 100 via a communications network 160.

A user profile, a work product for printing, a media library, andvarious print job parameters can be stored in a database or memory 170accessible by the workstation 150 or the printing system 100 via thenetwork 160, or such data can be directly accessed via the printingsystem 100. One or more color sensors (not shown) may be embedded in theprinter paper path, as known in the art. The network 160 may beimplemented as a ‘cloud computing’ network, sometimes also referred toas a ‘cloud based network’, a ‘cloud based platform’ or simply ‘thecloud’.

With respect to FIG. 10, an exemplary DFE (Digital Front End) controller200 is shown in greater detail. The DFE controller 200 can include oneor more processors, such as processor 206 capable of executing machineexecutable program instructions. The processor 206 may function as a DFEprocessor or another type of processing device.

In the embodiment shown, the processor 206 can be in communication witha bus 202 (e.g., a backplane interface bus, cross-over bar, or datanetwork). The digital front end 200 can also include a main memory 204that is used to store machine readable instructions. The main memory 204is also capable of storing data. The main memory 204 may alternativelyinclude random access memory (RAM) to support reprogramming and flexibledata storage. A buffer 266 can be used to temporarily store data foraccess by the processor 206.

Program memory 264 can include, for example, executable programs thatimplement the embodiments of the methods described herein. The programmemory 264 can store at least a subset of the data contained in thebuffer. The digital front end 200 can include a display interface 208that forwards data from communication bus 202 (or from a frame buffernot shown) to a display 210. The digital front end 200 can also includea secondary memory 212 includes, for example, a hard disk drive 214and/or a removable storage drive 216, which reads and writes toremovable storage 218, such as a floppy disk, magnetic tape, opticaldisk, etc., that stores computer software and/or data.

The secondary memory 212 alternatively may include other similarmechanisms for allowing computer programs or other instructions to beloaded into the computer system. Such mechanisms can include, forexample, a removable storage unit 222 adapted to exchange data throughinterface 220. Examples of such mechanisms include a program cartridgeand cartridge interface (such as that found in video game devices), aremovable memory chip (such as an EPROM, or PROM) and associated socket,and other removable units and interfaces, which allow software and datato be transferred.

The digital front end 200 can include a communications interface 224,which acts as both an input and an output to allow software and data tobe transferred between the digital front end 200 and external devices.Examples of a communications interface include a modem, a networkinterface (such as an Ethernet card), a communications port, a PCMCIAslot and card, etc.

Computer programs (also called computer control logic) and including oneor more modules may be stored in the main memory 204 and/or thesecondary memory 212. Computer programs or modules may also be receivedvia a communications interface 224. Such computer programs or modules,when executed, enable the computer system to perform the features andcapabilities provided herein. Software and data transferred via thecommunications interface can be in the form of signals which may be, forexample, electronic, electromagnetic, optical, or other signals capableof being received by a communications interface.

These signals can be provided to a communications interface via acommunications path (i.e., channel), which carries signals and may beimplemented using wire, cable, and fiber optic, phone line, cellularlink, RF, or other communications channels.

Part of the data generally stored in secondary memory 212 for accessduring an DFE operation may be a set of translation tables that canconvert an incoming color signal into a physical machine signal.

This color signal can be expressed either as a colorimetric value;usually three components as L*a*b*, RGB, XYZ, etc.; into physicalexposure signals for the four toners cyan, magenta, yellow and black.These tables can be created outside of the DFE and downloaded, but maybe optionally created inside the DFE in a so-called characterizationstep.

Several aspects of data-processing systems will now be presented withreference to various systems and methods. These systems and methods willbe described in the following detailed description and illustrated inthe accompanying drawings by various blocks, modules, components,circuits, steps, processes, algorithms, etc. (collectively referred toas “elements”). These elements may be implemented using electronichardware, computer software, or any combination thereof. Whether suchelements are implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem.

By way of example, an element, or any portion of an element, or anycombination of elements may be implemented with a “processing system”that includes one or more processors. Examples of processors includemicroprocessors, microcontrollers, digital signal processors (DSPs),field programmable gate arrays (FPGAs), programmable logic devices(PLDs), state machines, gated logic, discrete hardware circuits, andother suitable hardware configured to perform the various functionalitydescribed throughout this disclosure. One or more processors in theprocessing system may execute software. Software shall be construedbroadly to mean instructions, instruction sets, code, code segments,program code, programs, subprograms, software modules, applications,software applications, software packages, routines, subroutines,objects, executables, threads of execution, procedures, functions, etc.,whether referred to as software, firmware, middleware, microcode,hardware description language, or otherwise. A mobile “app” is anexample of such software.

Accordingly, in one or more exemplary embodiments, the functionsdescribed may be implemented in hardware, software, firmware, or anycombination thereof. If implemented in software, the functions may bestored on or encoded as one or more instructions or code on acomputer-readable medium. Computer-readable media includes computerstorage media. Storage media may be any available media that can beaccessed by a computer.

The disclosed example embodiments are described at least in part hereinwith reference to flowchart illustrations and/or block diagrams and/orschematic diagrams of methods, systems, and computer program productsand data structures according to embodiments of the invention. It willbe understood that each block of the illustrations, and combinations ofblocks, can be implemented by computer program instructions. Thesecomputer program instructions may be provided to a processor of, forexample, a general-purpose computer, special-purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the block or blocks.

To be clear, the disclosed embodiments can be implemented in the contextof, for example a special-purpose computer or a general-purposecomputer, or other programmable data processing apparatus or system. Forexample, in some example embodiments, a data processing apparatus orsystem can be implemented as a combination of a special-purpose computerand a general-purpose computer. The computer program product may includea computer readable storage medium (or media) having computer readableprogram instructions thereon for causing a processor to carry outaspects of the embodiments.

The aforementioned computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions (e.g., steps/operations) stored inthe computer-readable memory produce an article of manufacture includinginstruction means which implement the function/act specified in thevarious block or blocks, flowcharts, and other architecture illustratedand described herein.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe block or blocks.

The flow charts and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments (e.g., preferred or alternative embodiments). In thisregard, each block in the flow chart or block diagrams depicted anddescribed herein can represent a module, segment, or portion ofinstructions, which can comprise one or more executable instructions forimplementing the specified logical function(s).

In some alternative embodiments, the functions noted in the blocks mayoccur out of the order noted in the figures. For example, two blocksshown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be embodied by special purpose hardware-based systemsthat perform the specified functions or acts or carry out combinationsof special purpose hardware and computer instructions.

The functionalities described herein may be embodied entirely andnon-abstractly as physical hardware, entirely as physical non-abstractsoftware (including firmware, resident software, micro-code, etc.) orcombining non-abstract software and hardware implementations that mayall generally be referred to herein as a “circuit,” “module,” “engine”,“component,” “block”, “database”, “agent” or “system.” Furthermore,aspects of the embodiments may take the form of a computer programproduct embodied in one or more non-ephemeral computer readable mediahaving computer readable and/or executable program code embodiedthereon.

The following discussion is intended to provide a brief, generaldescription of suitable computing environments in which the system andmethod may be implemented. Although not required, the disclosedembodiments will be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a single computer. In most instances, a “module” (alsoreferred to as an “engine”) may constitute a software application, butcan also be implemented as both software and hardware (i.e., acombination of software and hardware).

Generally, program modules include, but are not limited to, routines,subroutines, software applications, programs, objects, components, datastructures, etc., that perform particular tasks or implement particulardata types and instructions. Moreover, those skilled in the art willappreciate that the disclosed method and system may be practiced withother computer system configurations, such as, for example, hand-helddevices, multi-processor systems, data networks, microprocessor-based orprogrammable consumer electronics, networked PCs, minicomputers,mainframe computers, servers, and the like.

Note that the term module as utilized herein may refer to a collectionof routines and data structures that perform a particular task orimplements a particular data type. Modules may be composed of two parts:an interface, which lists the constants, data types, variable, androutines that can be accessed by other modules or routines, and animplementation, which is typically private (accessible only to thatmodule) and which includes source code that actually implements theroutines in the module. The term ‘module’ may also simply refer to anapplication, such as a computer program designed to assist in theperformance of a specific task, such as word processing, accounting,inventory management, etc.

Such an application may be an ‘app’ as discussed previously. The term‘app’ as utilized herein can refer to an ‘application program’ or simplyan ‘application’. An app may be downloaded from an online service, suchas an “app store” and installed on a smartphone (e.g. a smartphone orother smart device such as tablet computing device or a wearablecomputing device such as a smartwatch). An app may comprise a module ora group of modules and/or a group of sub-modules.

In some example embodiments, the term “module” can also refer to amodular hardware component or a component that is a combination ofhardware and software. It should be appreciated that implementation andprocessing of such modules according to the approach described hereincan lead to improvements in processing speed and in energy savings andefficiencies in a data-processing system such as, for example, theprinting system 100 shown in FIG. 9 and/or the DFE controller 200 shownin FIG. 10. A “module” can perform the various steps, operations orinstructions discussed herein, such as the steps or operations discussedherein with respect to FIG. 7 and FIG. 8.

It is understood that the specific order or hierarchy of steps,operations, or instructions in the processes or methods disclosed is anillustration of exemplary approaches. For example, the various steps,operations or instructions discussed herein can be performed in adifferent order. Similarly, the various steps and operations of thedisclosed example pseudo-code discussed herein can be varied andprocessed in a different order. Based upon design preferences, it isunderstood that the specific order or hierarchy of such steps, operationor instructions in the processes or methods discussed and illustratedherein may be rearranged. The accompanying claims, for example, presentelements of the various steps, operations or instructions in a sampleorder, and are not meant to be limited to the specific order orhierarchy presented.

The inventors have realized a non-abstract technical solution to thetechnical problem to improve a computer-technology by improvingefficiencies in such computer technology. The disclosed embodimentsoffer technical improvements to a computer-technology such as adata-processing system, and further provide for a non-abstractimprovement to a computer technology via a technical solution to thetechnical problem(s) identified in the background section of thisdisclosure. Such improvements can result from implementations of thedisclosed embodiments. The claimed solution may be rooted in computertechnology in order to overcome a problem specifically arising in therealm of computers, computer networks and call center platforms.

It will be appreciated that variations of the above-disclosed and otherfeatures and functions, or alternatives thereof, may be desirablycombined into many other different systems or applications. It will alsobe appreciated that various presently unforeseen or unanticipatedalternatives, modifications, variations or improvements therein may besubsequently made by those skilled in the art which are also intended tobe encompassed by the following claims.

What is claimed is:
 1. A method for creating labels from a template,comprising: correcting an image of a form captured by an image-capturingdevice; detecting in the image of the form a plurality of featuresincluding at least one polygon, and at least one writable area in the atleast one polygon; creating a template of the form based on theplurality of features detected in the image; and transmitting thetemplate electronically to a requester of the template.
 2. The method ofclaim 1 wherein correcting the image of the form captured by theimage-capturing device comprises: de-skewing the image.
 3. The method ofclaim 1 further comprising automatically configuring the template as alabel form template for use as a printable label by the requester. 4.The method of claim 1 further comprising capturing the image of the formwith an image-capturing device.
 5. The method of claim 4 wherein theimage-capturing device comprises a digital camera.
 6. The method ofclaim 4 wherein the image-capturing device comprises a scanner.
 7. Themethod of claim 1 wherein the plurality of features further comprises atleast one of: text, at least one image within the at least one polygon,and color in the at least one polygon.
 8. A system for creating labelsfrom a template, comprising: at least one processor; and anon-transitory computer-usable medium embodying computer program code,the computer-usable medium operable to communicate with the at least oneprocessor, the computer program code comprising instructions executableby the at least one processor and operable to: correct an image of aform captured by an image-capturing device; detect in the image of theform a plurality of features including at least one polygon, and atleast one writable area in the at least one polygon; create a templateof the form based on the plurality of features detected in the image;and transmit the template electronically to a requester of the template.9. The system of claim 8 wherein the instructions executable by the atleast one processor and operable to correct the image of the formcaptured by the image-capturing device, further comprise instructionsconfigured to: de-skew the image.
 10. The system of claim 8 wherein theinstructions further comprise instructions executable by the at leastone processor and operable to automatically configure the template as alabel form template for use as a printable label by the requester. 11.The system of claim 8 further comprising capturing the image of the formwith an image-capturing device.
 12. The system of claim 11 wherein theimage-capturing device comprises a digital camera.
 13. The system ofclaim 11 wherein the image-capturing device comprises a scanner.
 14. Thesystem of claim 8 wherein the plurality of features further comprises atleast one of: text, at least one image within the at least one polygon,and color in the at least one polygon.
 15. A system for creating labelsfrom a template, comprising: an image-capturing device that captures animage of a form that is then subject to a correction; a sensor thatdetects in the image of the form, a plurality of features including atleast one polygon, and at least one writable area in the at least onepolygon; and a template of the form created based on the plurality offeatures detected in the image, wherein the template is electronicallytransmitted to a requester of the template.
 16. The system of claim 15wherein the correction comprises de-skewing of the image captured by theimage-capturing device.
 17. The system of claim 15 wherein the templateis automatically configured as a label form template for use as aprintable label by the requester.
 18. The system of claim 15 wherein theimage-capturing device comprises a digital camera.
 19. The system ofclaim 15 wherein the image-capturing device comprises a scanner.
 20. Themethod of claim 15 wherein the plurality of features further comprisesat least one of: text, at least one image within the at least onepolygon, and color in the at least one polygon.